package com.jinmdz.fmis.generator.license;

import java.io.Serializable;
import java.util.Date;

/**
 * License生成类需要的参数
 *
 * @author LiCongLu
 * @date 2020-01-08 15:16
 */
public class LicenseModel implements Serializable {
    /**
     * 证书subject
     */
    private String subject;

    /**
     * 私钥别称
     */
    private String privateAlias;

    /**
     * 私钥密码（需要妥善保管，不能让使用者知道）
     */
    private String keyPass;

    /**
     * 访问私钥库的密码
     */
    private String storePass;

    /**
     * 证书生成路径
     */
    private String licensePath;

    /**
     * 私钥库存储路径
     */
    private String privateKeyStorePath;

    /**
     * 证书生效时间
     */
    private Date issuedTime;

    /**
     * 证书失效时间
     */
    private Date expiryTime;

    /**
     * 用户类型
     */
    private String consumerType;

    /**
     * 用户数量
     */
    private Integer consumerAmount;

    /**
     * 描述信息
     */
    private String description;

    /**
     * 额外的服务器硬件校验信息
     */
    private String extraModel;

    public String getSubject() {
        return subject;
    }

    public LicenseModel setSubject(String subject) {
        this.subject = subject;
        return this;
    }

    public String getPrivateAlias() {
        return privateAlias;
    }

    public LicenseModel setPrivateAlias(String privateAlias) {
        this.privateAlias = privateAlias;
        return this;
    }

    public String getKeyPass() {
        return keyPass;
    }

    public LicenseModel setKeyPass(String keyPass) {
        this.keyPass = keyPass;
        return this;
    }

    public String getStorePass() {
        return storePass;
    }

    public LicenseModel setStorePass(String storePass) {
        this.storePass = storePass;
        return this;
    }

    public String getLicensePath() {
        return licensePath;
    }

    public LicenseModel setLicensePath(String licensePath) {
        this.licensePath = licensePath;
        return this;
    }

    public String getPrivateKeyStorePath() {
        return privateKeyStorePath;
    }

    public LicenseModel setPrivateKeyStorePath(String privateKeyStorePath) {
        this.privateKeyStorePath = privateKeyStorePath;
        return this;
    }

    public Date getIssuedTime() {
        return issuedTime;
    }

    public LicenseModel setIssuedTime(Date issuedTime) {
        this.issuedTime = issuedTime;
        return this;
    }

    public Date getExpiryTime() {
        return expiryTime;
    }

    public LicenseModel setExpiryTime(Date expiryTime) {
        this.expiryTime = expiryTime;
        return this;
    }

    public String getConsumerType() {
        return consumerType;
    }

    public LicenseModel setConsumerType(String consumerType) {
        this.consumerType = consumerType;
        return this;
    }

    public Integer getConsumerAmount() {
        return consumerAmount;
    }

    public LicenseModel setConsumerAmount(Integer consumerAmount) {
        this.consumerAmount = consumerAmount;
        return this;
    }

    public String getDescription() {
        return description;
    }

    public LicenseModel setDescription(String description) {
        this.description = description;
        return this;
    }

    public String getExtraModel() {
        return extraModel;
    }

    public LicenseModel setExtraModel(String extraModel) {
        this.extraModel = extraModel;
        return this;
    }

    @Override
    public String toString() {
        return "LicenseModel{" +
                "subject='" + subject + '\'' +
                ", privateAlias='" + privateAlias + '\'' +
                ", keyPass='" + keyPass + '\'' +
                ", storePass='" + storePass + '\'' +
                ", licensePath='" + licensePath + '\'' +
                ", privateKeyStorePath='" + privateKeyStorePath + '\'' +
                ", issuedTime=" + issuedTime +
                ", expiryTime=" + expiryTime +
                ", consumerType='" + consumerType + '\'' +
                ", consumerAmount=" + consumerAmount +
                ", description='" + description + '\'' +
                ", extraModel=" + extraModel +
                '}';
    }
}
